# # 对1-100进行求和
# def get_sum():
#     sum = 0
#     for i in range(1, 101):
#         sum += i
#         i += 1
#     return sum
#
# def get_sum2():
#     sum = 0
#     i = 1
#     while i <= 100:
#         sum += i
#         i += 1
#     return sum
#
# print(f'1-100的和为: {get_sum()}')
# print('1-100的和为: {0}'.format(get_sum2()))
from itertools import count
from multiprocessing.managers import Value


# # 定义一个函数计算水仙花数
# def get_water_flower():
#     lst = []
#     for i in range(100, 1000): # 三位数
#         # 拿出每一位：注意使用整数除法：//
#         a = i % 10 # 个位
#         b = i // 10 % 10 # 十位
#         c = i // 100 # 百位
#         if a**3 + b**3 + c**3 == i:
#             lst.append(i)
#     return lst
#
#
# def get_water_flower2(num):
#     lst = []
#     # 计算出num的位数
#     count = 0
#     while num > 0:
#         count += 1
#         num //= 10
#     # 根据位数计算出1-对应位数的自幂数
#     for i in range(10 ** count):  # 1-10^count
#         # 拿出每一位：注意使用整数除法：//
#         # 这里不是三位就不能直接使用 // % 的方式了
#         # 并且上述方式也比较low，可以换一种写法
#
#         # 先求出i的位数
#         j = i
#         size = 0
#         while j > 0:
#             size += 1
#             j //= 10
#         # 循环 size 次进行对应位数的求和
#         sum = 0
#         countOfValue = size
#         j = i
#         while countOfValue > 0:
#             sum += (j % 10) ** size
#             countOfValue -= 1
#             j //= 10
#         # 判断是否为自幂数
#         if sum == i:
#             lst.append(i)
#     return lst
#
#
#
# try:
#     num = int(input('请输入待求的自幂数范围：'))
#     if num < 0:
#         raise Exception('请输入合法的整数，再重试！')
#     print(f'{num}范围内的自幂数为: {get_water_flower2(num)}')
# except ValueError as e:
#     print('请输入整数，再重试!')
# except Exception as e:
#     print(e)


# print(f'水仙花数为: {get_water_flower()}')

# print(type(4) == int)